package com.glsc.ngateway.flowable;


import com.glsc.ngateway.common.api.platform.feign.IFeignPlatformService;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.retry.annotation.EnableRetry;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @author lium
 * @date 2021/8/18
 */
@ComponentScan(basePackages = {"com.glsc.ngateway.flowable", "com.glsc.ngateway.common.base",
        "com.glsc.ngateway.common.api.common", "com.glsc.ngateway.common.api.oaflow",
        "com.glsc.ngateway.common.api.platform"
})
@EntityScan(basePackages = {"com.glsc.ngateway.common.base.domain"})
@EnableFeignClients(
        basePackages = "com.glsc.ngateway.flowable.service.feign",
        basePackageClasses = {
                com.glsc.ngateway.common.api.oaflow.feign.IFeignOaFlowService.class,
                IFeignPlatformService.class,
                com.glsc.ngateway.common.api.shortmsg.feign.IFeignShortmsgService.class
        }
)
@EnableDiscoveryClient // 启用 Eureka 服务发现
@EnableSwagger2
@EnableRetry
@SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}